<?php

class CategoryTable extends Doctrine_Table
{
    /**
     * Método que retorna todas las categorias ordenadas alfabeticamente por nombre
     */
	public static function getCategories(){
			return Doctrine::getTable('Category')
      				->createQuery('c')
					->select('*')
					->addSelect('COUNT(s.id) as num_sites')
					->addSelect('s.id')
					->leftJoin('c.Sites s')
					->groupBy('c.id')
					->having('num_sites > 0')
      				->orderBy('c.name')
      				->execute();
	}

    /**
     * Método que retorna una categoria dependiendo del nombre de la misma
     * @param Stirng $name Nombre de la categoria
     * @return Category Categoria correspondiente al nombre
     */
    public static function getCategoryByName($name){
    	return Doctrine::getTable('Category')->findOneBy('name', $name);
    }

}